home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / R-Shows / (c)expo87.d64 / ponzo tutor-1.64 (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  18KB  |  568 lines

  1. 0 RUN00100
  2. 1 REM"
  3. 2 [143]"PONZO*1983*WATERLOO
  4. 3 REM"
  5. 100 [151]53281,15:[151]53280,12:[153]"STOP":[153]"LOAD             C64 TUTOR-1
  6. 101 PRINT"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  7. 102 PRINT"[221]             C64 BASICS             [146] [221]":MS$=" WELCOME! "
  8. 103 PRINT"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][144]"
  9. 104 SN$="1000":GOSUB63200:GOSUB63600
  10. 105 GOSUB60000:GOSUB63100:GOSUB59000
  11. 1000 GOSUB60000
  12. 1005 PRINT"[147]HI[146]! LET ME TELL YOU ABOUT MYSELF."
  13. 1010 PRINT"I'M A CLASSY CALCULATOR:"
  14. 1040 PRINT"I CAN ADD: 2+2=4[146] SUBTRACT:2-3=-1"
  15. 1050 PRINT"MULTIPLY:3*17=51[146] DIVIDE:4/16=.25"
  16. 1080 PRINT"I COMPUTE SINES AND LOGARITHMS"
  17. 1090 PRINT"SQUARE ROOTS AND ARCTANGENTS."
  18. 1100 PRINT"I RAISE NO'S TO A POWER:2^(-3)=.125"
  19. 1200 PRINT"TYPE:?2*SIN([255]/3)+LOG(1.2^3)-SQR(4*5.6)"
  20. 1300 PRINT"(THE ? IN FRONT MEANS PRINT)"
  21. 1310 PRINT"     [163]                [163][163][163][163][163]"
  22. 1320 PRINT"..HIT RETURN[146]..I PRINT THE ANSWER!"
  23. 1330 PRINT"TRY IT[146]. WHEN FINISHED.."
  24. 1331 PRINT"TYPE  @[146]_[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  25. 1332 MS$="@_REMEMBER[146]":GOSUB63100
  26. 1335 SN$="02000":GOTO63300
  27. 2000 PRINT"[147]":MS$="   GOOD":GOSUB60000:GOSUB63100:PRINT"[147]";
  28. 2100 PRINT"[147]TO CORRECT A MISTYPED SYMBOL "
  29. 2110 PRINT"JUST  PRESS THE KEY MARKED DEL[146].
  30. 2150 [153]"                TAB(TAB(TAB("
  31. 2170 [153]"SUPPOSE YOU TYPED 2SIN((null)/3)."
  32. 2200 [153]"TO INSERT A * BETWEEN 2 AND SIN((null)/3)"
  33. 2210 [153]"TO INDICATE MULTIPLY....
  34. 2300 PRINT"PRESS SHIFT AND DEL!"
  35. 2400 PRINT"      [163][163][163][163][163] [183][183][183] [163][163][163]
  36. 2500 [153]"DO THIS AFTER YOU HAVE THE CURSOR"
  37. 2510 [153]"OVER THE S IN SIN."
  38. 2600 [153]"THAT WAY YOU INSERT A SPACE"
  39. 2610 [153]"TO TYPE IN '*'."
  40. 2800 [153]"TRY IT! THEN TYPE  @"
  41. 2990 SN$[178]"03000":[137]63300
  42. 3000 [141]60000:[153]"LOADIF YOU WANT ME TO REMEMBER THE"
  43. 3010 [153]"RESULT OF SOME CALCULATION.."
  44. 3020 [153]"THEN GIVE IT A NAME!"
  45. 3030 [153]"TYPE:SAM=2*3/4+5WAIT"
  46. 3040 [153]"THEN I'LL REMEMBER  SAM."
  47. 3050 [153]"YOU CAN ASK FOR THE VALUE OF SAM."
  48. 3070 [153]"TYPE:?SAM"
  49. 3080 [153]"YOU CAN ALSO TYPE:"
  50. 3090 [153]"JOE=SAM^2+SIN((null)*SAM/3)"
  51. 3100 [153]"?JOE                  "
  52. 3110 [153]"THEN I'LL PRINT THE VALUE OF JOE."
  53. 3120 [153]"TRY IT!THEN TYPE..  @"
  54. 3130 SN$[178]"04000":[137]63300
  55. 4000 [141]60000:[153]"LOADOK..IF YOU TELL ME THE VALUES"
  56. 4100 [153]"OF A,B & C THEN TYPE:"
  57. 4200 [153]"Y=(-B+SQR(B*B-4*A*C))/(2*A)"
  58. 4300 [153]"?Y                         "
  59. 4400 [153]"I'LL CALCULATE Y AND PRINT IT."
  60. 4500 [153]"UNFORTUNATELY, IF YOU GIVE ME"
  61. 4510 [153]"NEW VALUES FOR A,B & C...WELL.."
  62. 4600 [153]"YOU'LL HAVE TO RETYPE THE FORMULA!"
  63. 4800 [153]"(BUT WAIT TILL WE WRITE 'PROGRAMS')."
  64. 4910 [153]"WANT TO TRY THIS?"
  65. 4950 [153]"THEN:TYPE @WAIT TO CONTINUE."
  66. 4955 MS$[178]"@_TANTANTANTANTANTANTANTAN":[141]63100
  67. 4970 SN$[178]"05000":[137]63300
  68. 5000 [141]60000:[153]"LOADIF YOU GIVE ME NEW VALUES FOR A,B &C"
  69. 5300 [153]"BY TYPING A=5.3:B=-2.1:C=.011"
  70. 5400 [153]"(YOU CAN GIVE ME SEVERAL INSTR'NS"
  71. 5500 [153]"ON THE SAME LINE,SEPARATED BY A COLON:)"
  72. 5700 [153]"I'LL REMEMBER THESE NEW VALUES"
  73. 5710 [153]"AND IF YOU WANT Y RECALCULATED"
  74. 5800 [153]"JUST MOVE THE CURSOR TO THE"
  75. 5810 [153]"STATEMENT DEFINING Y AND HIT 'RETURN'."
  76. 5840 [153]"I'LL THINK YOU JUST TYPED IT IN!"
  77. 5850 [153]"THEN YOU CAN ASK ?Y"
  78. 5860 [153]"TRY IT! THEN TYPE @"
  79. 5999 SN$[178]"06000":[137]63300
  80. 6000 [141]60000:[153]"LOADNOW ...MY MORE IMPRESSIVE TALENT.."
  81. 6005 [153]"     PROGRAMSWAIT"
  82. 6010 [153]"     FREFREFREFREFREFREFREFRE"
  83. 6011 MS$[178]" AHEM...":[141]63100
  84. 6015 [141]63000
  85. 6020 [153]"LOADIF YOU GIVE EACH INSTRUCTION A 'NUMBER'"
  86. 6030 [153]"I'LL REMEMBER THE INSTRUCTION!"
  87. 6040 [153]"FOR EXAMPLE, TYPE:"
  88. 6050 [153]"10 Y=(A+B)/2"
  89. 6060 [153]"20 ?Y       "
  90. 6080 [153]"#10 SAYS:COMPUTE THE AVERAGE OF"
  91. 6085 [153]"TWO NUMBERS A & B, AND CALL IT Y."
  92. 6100 [153]"#20 SAYS:PRINT THE VALUE OF Y."
  93. 6120 [153]"NOW I'LL 'REMEMBER' THESE INSTRUCTIONS!"
  94. 6130 [153]"CLEAR THE SCREEN,TYPE A=1.5:B=-4"
  95. 6140 [153]"THEN GOTO 10WAIT...I'LL OBEY!"
  96. 6150 [153]"TRY IT!  THEN TYPE @"
  97. 6160 MS$[178]"  GOTO 10":[141]63100
  98. 6170 SN$[178]"07000":[137]63300
  99. 7000 [141]60000:[153]"LOADSUPPOSE YOU WANT THE VALUE OF Y"
  100. 7010 [153]"PRINTED IN THE MIDDLE OF THE SCREEN."
  101. 7047 [153]"TYPE:"
  102. 7050 [153]"15?"
  103. 7060 [153]"16?SPC("W2$");"
  104. 7070 [153]"#15 SAYS:PRINT NOTHING..A BLANK LINE."
  105. 7090 [153]"#16 SAYS:SPACE RIGHT "W2$" PLACES."
  106. 7100 [153]">THE SEMI-COLON AFTER SPC("W2$")"
  107. 7110 [153]"SAYS:LEAVE THE CURSOR THERE!"
  108. 7120 [153]"YOU SEE,I NORMALLY RETURN THE CURSOR"
  109. 7125 [153]"TO THE LEFT MARGIN.."
  110. 7130 [153]"UNLESS YOU INCLUDE THE ;"
  111. 7140 [141]63000
  112. 7145 [153]"LOADTYPE STATEMENTS IN ANYCMDCMDCMDFREFREFREON ORDER."
  113. 7146 [153]"I'LL REMEMBER THEM IN THE ORDER"
  114. 7147 [153]"OF THEIR STATEMENT #'S! YOU TYPE:"
  115. 7160 [153]"10Y=(A+B)/2"
  116. 7161 [153]"20?Y       "
  117. 7162 [153]"15?        "
  118. 7163 [153]"16?SPC("W2$");"
  119. 7170 [153]"I REMEMBER THEM AS:"
  120. 7171 [153]" 10 Y=(A+B)/2"
  121. 7172 [153]" 15 PRINT"
  122. 7173 [153]" 16 PRINTSPC("W2$");"
  123. 7174 [153]" 20 PRINTY"
  124. 7180 [153]"TRY IT!..THEN TYPE @WAIT TO GO ON."
  125. 7260 SN$[178]"08000":[137]63300
  126. 8000 [141]60000
  127. 8010 [153]"LOAD 10 Y=(A+B)/2      SPC("
  128. 8020 [153]" 15 PRINT          SPC(THE PROGRAM"
  129. 8030 [153]" 16 PRINTSPC("W2$");  SPC(SO FAR"
  130. 8040 [153]" 20 PRINTY         SPC("
  131. 8060 [153]"TO CONVINCE YOURSELF THAT I HAVE"
  132. 8070 [153]"ALL YOUR INSTRUCTIONS,IN ORDER.."
  133. 8090 [153]"JUST TYPE:LIST10-20"
  134. 8110 [153]"I'LL PRINT EVERY STATEMENT :10 TO 20."
  135. 8120 [153]"YOU CAN EDIT STATEMENTS RIGHT"
  136. 8125 [153]"ON THE SCREEN. JUST LISTWAIT ..THEN MOVE"
  137. 8140 [153]"THE CURSOR..THEN INST/DELWAIT ETC."
  138. 8150 [153]"TO CHECK THE CHANGES, LISTWAIT AGAIN.
  139. 8155 PRINT"WANT TO TRY? (CONTINUE WITH @[146])"
  140. 8160 SN$="09000":GOTO63300
  141. 9000 GOSUB60000:MS$="SOME NOTES[146]":GOSUB63100
  142. 9010 PRINT"[147]TO CHANGE[146] A STATEMENT"
  143. 9020 PRINT"TYPE THE NO. AND THE NEW INSTRUCTION."
  144. 9030 PRINT"(I'LL FORGET THE OLD INSTRUCTION)."
  145. 9040 PRINT"TO DELETE[146] A STATEMENT"
  146. 9050 PRINT"TYPE THE NO. THEN PRESS 'RETURN'!"
  147. 9090 PRINT"WHICH REMINDS ME.."
  148. 9100 PRINT"DO NOT[146] TYPE IN SOME NUMBER.."
  149. 9110 PRINT"CHANGE YOUR MIND...HIT RETURN.."
  150. 9120 PRINT"..THEN REENTER THE NUMBER."
  151. 9130 PRINT"YOU MAY HAVE WIPED OUT A STATEMENT!"
  152. 9140 PRINT"NOTE,TOO,THAT YOU MAY USE ?"
  153. 9145 PRINT"I WILL REMEMBER IT AS PRINT[146]."
  154. 9160 GOSUB63000
  155. 9161 PRINT"[147]ALSO..I REMEMBER ONLY THE FIRST TWO"
  156. 9162 PRINT"CHARACTERS IN ANY NAME[146] YOU ASSIGN."
  157. 9163 PRINT"SAM=10"
  158. 9164 PRINT"SALLY=20"
  159. 9165 PRINT"TO ME, BOTH[146] HAVE THE SAME NAME!"
  160. 9166 PRINT"NAMELY SA[146]!"
  161. 9167 PRINT"HENCE SA=10 FOLLOWED BY SA=20 MAKES"
  162. 9168 PRINT"SAM=SALLY=20."
  163. 9169 MS$="SAM=SALLY?":GOSUB63100
  164. 9170 GOSUB63000
  165. 10000 :
  166. 10009 PRINT"[147] IN ADDITION TO MANIPULATING NUMBERS"
  167. 10010 PRINT"I CAN MANIPULATE STRINGS[146] OF SYMBOLS."
  168. 10020 PRINT"IN THE SAME WAY THAT YOU ASSIGN A NAME"
  169. 10030 PRINT"TO A NUMBER,LIKE X OR Y OR SAM,"
  170. 10040 PRINT"YOU CAN GIVE A NAME TO A STRING"
  171. 10050 PRINT"OF CHARACTERS."
  172. 10060 PRINT"SO THAT I DON'T BECOME CONFUSED"
  173. 10070 PRINT"I MUST KNOW WHETHER 2*3 IS A NUMBER"
  174. 10080 PRINT"OR A STRING OF THREE SYMBOLS."
  175. 10090 PRINT"HENCE, I MUST INSIST THAT THE NAME YOU"
  176. 10100 PRINT"GIVE IT ENDS WITH A $ ..IF IT'S A"
  177. 10110 PRINT"STRING OF SYMBOLS..LIKE X$,Y$ OR SAM$."
  178. 10115 GOSUB63000
  179. 10120 PRINT"[147] YOU CAN NOW TRY THE FOLLOWING:"
  180. 10130 PRINT"TYPE:"
  181. 10140 PRINT"X=2+3"
  182. 10150 PRINT"X$="CHR$(34)"2+3"CHR$(34)
  183. 10160 PRINT"?X"
  184. 10170 PRINT"?X$"
  185. 10180 PRINT"..SEE WHAT I'LL PRINT[146]?"
  186. 10195 PRINT"THEN TYPE @[146] TO CONTINUE.":MS$="   ????   ":GOSUB63100
  187. 10200 SN$="11000":GOTO63300
  188. 11000 GOSUB60000
  189. 11010 PRINT"YOU GUESSED IT!"
  190. 11020 PRINT"I'LL PRINT:"
  191. 11030 PRINT:PRINT" 5"
  192. 11040 PRINT"2+3":PRINT
  193. 11045 GOSUB63000
  194. 11050 PRINT"[147] NOW WHAT DO YOU THINK X$+Y$ MEANS?"
  195. 11060 PRINT"TRY TYPING:":PRINT
  196. 11070 PRINT"A$="CHR$(34)"I"CHR$(34)
  197. 11080 PRINT"B$="CHR$(34)"YOU"CHR$(34)
  198. 11090 PRINT"Y$="CHR$(34)"AM GREAT!"CHR$(34)
  199. 11100 PRINT"Z$="CHR$(34)"ARE TOO?"CHR$(34)
  200. 11110 PRINT"THEN ASK ME:"
  201. 11120 PRINT"?A$+Y$"
  202. 11130 PRINT"?B$+Z$"
  203. 11140 PRINT"TRY IT!  THEN TYPE @"
  204. 11145 MS$="  GREAT?  ":GOSUB63100
  205. 11150 SN$="12000":GOTO63300
  206. 12000 GOSUB60000:PRINT"[147]WELL..IF YOU TRIED IT YOU'LL NOTICE""
  207. 12010 [153]"THAT A$ STANDS FOR EVERYTHINGWAIT INSIDE"
  208. 12020 [153]"THE QUOTES. IF YOU WANT A SPACE"
  209. 12030 [153]"AFTER I..THEN INCLUDE THE SPACE TOO!"
  210. 12040 [153]"      TAB("
  211. 12045 [153]"A$="[199](34)"I "[199](34)
  212. 12046 [153]"     ^"
  213. 12047 [153]"     SEE?"
  214. 12048 [141]63000
  215. 12050 [153]"LOADOK..LET'S WORK ALL THIS INTO A PROGRAM."
  216. 12060 [153]"LET'S TYPE:"
  217. 12070 [153]"10?"[199](34)"CALCULATION OF THE HYPOTENUSE"[199](34)
  218. 12080 [153]"20?"[199](34)"ENTER SIDE A"[199](34)
  219. 12090 [153]"30 INPUT A"
  220. 12100 [153]"40?"[199](34)"ENTER SIDE B"[199](34)
  221. 12110 [153]"50 INPUT B"
  222. 12120 [153]"60 C=SQR(A*A+B*B):?"[199](34)"HYP="[199](34)"C"
  223. 12130 [153]"70 GO TO 20"
  224. 12140 [153]"THE ONLY THING NEW IS INPUTWAIT."
  225. 12170 [153]"AT STATEMENT#30 I'LL WAIT FOR YOU"
  226. 12180 [153]"TO TYPE IN A NUMBER, AND  I'LL CALL"
  227. 12190 [153]"THE NUMBER A,IF YOU SAY INPUTAWAIT."
  228. 12300 [153]"TRY IT!(THEN TYPE @WAIT)"
  229. 12305 MS$[178]"HYPO/WHAT?":[141]63100
  230. 12310 SN$[178]"13000":[137]63300
  231. 13000 [141]60000:[153]"LOADSUPPOSE YOU WANT THE SQUARES"
  232. 13010 [153]"OF THE INTEGERS FROM 1 TO 100."
  233. 13020 [153]"YOU COULD TYPE:"
  234. 13030 [153]"10 ?1*1"
  235. 13040 [153]"20 ?2*2WAIT   ETC.ETC."
  236. 13060 [153]"OR,YOU COULD REPEAT THE INSTRUCTION:"
  237. 13070 [153]"10 ?N*NWAIT"
  238. 13080 [153]"AGAIN & AGAIN,FOR N=1 THEN N=2..ETC."
  239. 13090 [153]"TO DO THIS YOU PUT THE INSTRUCTION TO "
  240. 13100 [153]"BE REPEATED WITHIN A FOR-NEXTWAIT LOOP:"
  241. 13120 [153]"10 FOR N=1 TO 100WAIT _HERE'S THE "[199](34)"FOR"[199](34)
  242. 13130 [153]"20 ?N*N          "
  243. 13140 [153]"30 NEXT          WAIT _HERE'S THE "[199](34)"NEXT"[199](34)
  244. 13150 [141]63000:[153]"LOAD"
  245. 13160 MS$[178]" WATCH!!  ":[141]63100
  246. 14000 [141]60000:[153]"LOADHOW'S THIS FOR A DIVERSION?"
  247. 14010 [129]T[178]1[164]500:[130]:[153]"LOAD"
  248. 14020 [129]I[178]1[164]2
  249. 14030 [129]J[178]1[164]WD[171]1:[129]T[178]1[164]5:[130]
  250. 14040 [153]" *CMD";:[130]
  251. 14050 [129]J[178]1[164]WD[171]1:[129]T[178]1[164]5:[130]
  252. 14060 [153]" CMDCMD*CMD";:[130]
  253. 14070 [129]J[178]1[164]WD:[129]T[178]1[164]5:[130]
  254. 14080 [153]"*";:[130]:[130]
  255. 14090 [141]63000
  256. 14100 [153]"LOAD":MS$[178]"  NICE !WAIT  ":[141]60000:[141]63100:[153]"LOAD";
  257. 14150 [153]"LET'S TRY IT!"
  258. 14160 [153]"THERE WILL BE 4 FOR-NEXTWAIT LOOPS."
  259. 14170 [153]"1WAIT:"W3$" MOVEMENTS TO THE RIGHT."
  260. 14180 [153]"2WAIT:"W3$" TO THE LEFT.."
  261. 14190 [153]"(EACH OF THE ABOVE WILL PRINT A NEW *"
  262. 14200 [153]"AND ERASE THE OLD *..GIVING THE
  263. 14210 PRINT"APPEARANCE OF MOTION)."
  264. 14220 PRINT"3[146]:THEN, RIGHT AGAIN (BUT WITHOUT"
  265. 14221 PRINT"ERASING) LEAVING THE *'S."
  266. 14230 PRINT"4[146]:THEN[157][157][157][157][184][184][184][184][145] ALL 3 LOOPS WILL BE REPEATED"
  267. 14231 PRINT"2 TIMES,FOR 2 LINES!"
  268. 14245 GOSUB63000
  269. 14250 PRINT"[147]HERE WE GO!"
  270. 14260 FORI=1TO500:NEXT
  271. 14280 PRINT"[147]ASSUME THE CURSOR IS 'OVER' A *."
  272. 14290 PRINT"TO ERASE WE TYPE 'SPACE'.."
  273. 14300 PRINT"THEN *,THEN A 'CURSOR-LEFT'"
  274. 14320 PRINT"(LEAVING THE CURSOR AGAIN 'OVER' *[146])."
  275. 14350 PRINT"10?"CHR$(34)" *[157]"CHR$(34)
  276. 14360 PRINT"      ^"
  277. 14365 PRINT"      THIS IS CURSOR-LEFT[146]!"
  278. 14390 PRINT"REPEAT THESE INST'NS "W3$" TIMES"
  279. 14400 PRINT"WITH A FOR-NEXT"
  280. 14410 PRINT"LIKE SO:":PRINT
  281. 14420 PRINT"9 FOR I=1 TO "W3$
  282. 14430 PRINT"10?"CHR$(34)" *[157]"CHR$(34)
  283. 14440 PRINT"11 NEXT";
  284. 14450 GOSUB63000
  285. 14451 PRINT"[147]9 FOR I=1 TO "W3$"  [166]"
  286. 14452 PRINT"10?"CHR$(34)" *[157]"CHR$(34)"         [166] WE HAVE THIS SO FAR"
  287. 14453 PRINT"11 NEXT          [166]"
  288. 14470 PRINT"NOW YOU'D TYPE:"
  289. 14480 PRINT"19 FOR I=1 TO"W3$
  290. 14490 PRINT"20?"CHR$(34)" [157][157]*[157]"CHR$(34)
  291. 14500 PRINT"21 NEXT"
  292. 14520 PRINT"NOTE THE SEQUENCE OF PRINT INST'NS:"
  293. 14530 PRINT"SPACE[146]-C'SORLEFT[146]-C'SORLEFT[146]-*[146]-C'SORLEFT[146]"
  294. 14540 PRINT"NOW WE HAVE * MOVING TO THE RIGHT,"
  295. 14550 PRINT"AND[157][157][157][184][184][184][145] TO THE LEFT,"
  296. 14560 PRINT"NOW:"
  297. 14570 PRINT"29FORI=1TO"W1$
  298. 14580 PRINT"30?"CHR$(34)"*"CHR$(34)
  299. 14590 PRINT"31NEXT"
  300. 14600 GOSUB63000
  301. 14610 PRINT"[147]NOTE THAT YOU NEEDN'T LEAVE ALL THOSE"
  302. 14620 PRINT"BLANK SPACES IN THE INST'NS."
  303. 14630 PRINT"(ME SMART FELLOW!)"
  304. 14640 PRINT"ANYWAY..THE LAST FOR-NEXT LOOP"
  305. 14650 PRINT"REPEATS ALL THE ABOVE TWICE!"
  306. 14660 PRINT"        [163][163][163] "
  307. 14670 PRINT"SO YOU'D TYPE:"
  308. 14680 PRINT"5FORJ=1TO2   _FIRST STATEMENT"
  309. 14690 PRINT"40NEXT       _LAST STATEMENT"
  310. 14700 GOSUB63000
  311. 14800 PRINT"[147]NOW OUR PROGRAM(PROGRAMME?)LIST[146]S LIKE:"
  312. 14810 PRINT" 5 FORJ=1TO2"
  313. 14820 PRINT" 9 FORI=1TO"W3$
  314. 14830 PRINT" 10 PRINT"CHR$(34)" *[157]"CHR$(34)
  315. 14840 PRINT" 11 NEXT"
  316. 14850 PRINT" 19 FORI=1TO"W3$
  317. 14860 PRINT" 20 PRINT"CHR$(34)" [157][157]*[157]"CHR$(34)
  318. 14870 PRINT" 21 NEXT"
  319. 14880 PRINT" 29 FORI=1TO"W1$
  320. 14890 PRINT" 30 PRINT"CHR$(34)"*"CHR$(34)
  321. 14900 PRINT" 40 NEXT"
  322. 14901 PRINT" 40 NEXT"
  323. 14920 PRINT"NOTE THAT WE USE "CHR$(34)"J"CHR$(34)
  324. 14930 PRINT"FOR THE LOOP THAT REPEATS FOR 2 LINES."
  325. 14940 PRINT"(THAT IS, THE OUTERMOST LOOP)."
  326. 14950 PRINT"WITHIN THIS LOOP DON'T[146] USE J[146] AGAIN!"
  327. 14965 PRINT"(SO WE USED I[146])"
  328. 14971 GOSUB63000
  329. 14980 PRINT"[147] 5 FORJ=1TO2"
  330. 14981 PRINT" 9 FORI=1TO"W3$
  331. 14982 PRINT" 10 PRINT"CHR$(34)" *[157]"CHR$(34)
  332. 14983 PRINT" 11 NEXT I       _[192][192][192]NOTE"
  333. 14984 PRINT" 19 FORI=1TO"W3$
  334. 14985 PRINT" 20 PRINT"CHR$(34)" [157][157]*[157]"CHR$(34)
  335. 14986 PRINT" 21 NEXT I       _[192][192][192]NOTE"
  336. 14987 PRINT" 29 FORI=1TO"W1$
  337. 14988 PRINT" 30 PRINT"CHR$(34)"*"CHR$(34)
  338. 14989 PRINT" 31 NEXT I       _[192][192][192]NOTE"
  339. 14990 PRINT" 40 NEXT J       _[192][192][192]NOTE"
  340. 14991 PRINT"IF YOU GET CONFUSED WITH"
  341. 14992 PRINT"ALL THOSE NEXT[146]S..."
  342. 14995 PRINT"TYPE: NEXT I[146] & NEXT J"
  343. 14998 GOSUB63000
  344. 15000 PRINT"[147]WANT TO TRY[146]?"
  345. 15010 PRINT"I'LL REPEAT THE INSTRUCTIONS."
  346. 15115 PRINT"YOU CAN ENTER THE INST'NS BY PUTTING"
  347. 15116 PRINT"THE CURSOR AT THE FIRST INSTR'N"
  348. 15117 PRINT"THEN REPEATEDLY PRESSING 'RETURN'"
  349. 15118 PRINT"SO I'LL THINK YOU[146] TYPED THEM IN."
  350. 15120 GOSUB63000
  351. 15810 PRINT"[147]";:PRINT"5FORJ=1TO2"
  352. 15820 PRINT"9FORI=1TO"W3$
  353. 15830 PRINT"10?"CHR$(34)" *[157]"CHR$(34)
  354. 15840 PRINT"11NEXT"
  355. 15850 PRINT"19FORI=1TO"W3$
  356. 15860 PRINT"20?"CHR$(34)" [157][157]*[157]"CHR$(34)
  357. 15870 PRINT"21NEXT"
  358. 15880 PRINT"29FORI=1TO"W1$
  359. 15890 PRINT"30?"CHR$(34)"*"CHR$(34)
  360. 15900 PRINT"31NEXT"
  361. 15901 PRINT"40NEXT"
  362. 15905 PRINT"AFTER ENTERING STATEMENTS 5-40 TYPE:"
  363. 15906 PRINT"RUN[146] TO RUN YOUR PROGRAMME."
  364. 15910 PRINT"(TYPE @[146] TO CONTINUE TUTOR 1).":SN$="16000":GOTO63300
  365. 16000 GOSUB60000:PRINT"[147]DOESN'T WORK DOES IT?"
  366. 16001 GOSUB18000
  367. 16005 PRINT"[147]NOW SUPPOSE YOU'D LIKE TO SPECIFY"
  368. 16010 PRINT"THE SYMBOL USED..INSTEAD OF *."
  369. 16120 PRINT"IN THE PROGRAM, REPLACE * IN "
  370. 16130 PRINT"STATEMENTS #10,20&30 BY,SAY,S$"
  371. 16140 PRINT"THEN INCLUDE THE STATEMENTS:"
  372. 16150 PRINT"3?"CHR$(34)"SYMBOL?"CHR$(34)
  373. 16160 PRINT"4 INPUT S$"
  374. 16170 PRINT"NOW I'LL WAIT FOR YOU TO ENTER THE"
  375. 16180 PRINT"SYMBOL(OR STRING)WHICH IS LATER"
  376. 16190 PRINT"REFERRED TO AS S$."
  377. 16195 GOSUB63000
  378. 16200 PRINT"[147]ANOTHER THING.."
  379. 16210 PRINT"YOU WILL WANT TO CLEAR THE "
  380. 16220 PRINT"SCREEN AT THE START OF THE PROG'M"
  381. 16230 PRINT"SO START WITH:"
  382. 16240 PRINT"1?"CHR$(34)"[147]"CHR$(34)
  383. 16250 PRINT"THIS SAYS: PRINT A CLR"
  384. 16260 PRINT"                   [163][163][163]"
  385. 16261 GOSUB63000
  386. 16270 PRINT"[147]ALSO, YOU WON'T WANT ME TO COME BACK"
  387. 16280 PRINT"WITH MY "CHR$(34)"READY"CHR$(34)
  388. 16290 PRINT"         [163][163][163][163][163]"
  389. 16300 PRINT"SO GIVE ME SOMETHING TO DO,LIKE:"
  390. 16310 PRINT"50 FORI=1TO5000:G=0:NEXT"
  391. 16320 PRINT"THAT WAY I'LL GO AWAY AND SET G=0"
  392. 16330 PRINT"5000 TIMES!"
  393. 16335 PRINT"..OR YOU COULD HAVE:"
  394. 16336 PRINT"50 GO TO 50"
  395. 16337 PRINT"THEN I'D 'LOOP' ON STATEMENT#50 AND"
  396. 16338 PRINT"TO STOP ME YOU'D HIT STOP[146]."
  397. 16350 GOSUB63000
  398. 16370 PRINT"[147]ANOTHER THING,YOU MAY WANT TO CHANGE"
  399. 16380 PRINT"YOUR MIND ABOUT THE NO. OF LINES"
  400. 16390 PRINT"PRINTED(INSTEAD OF ALWAYS 2)"
  401. 16400 PRINT"SO CHANGE: FOR J=1TO 2"
  402. 16410 PRINT"TO READ:   FOR J=1TO L"
  403. 16420 GOSUB63000
  404. 16430 PRINT"[147]OF COURSE YOU'LL HAVE TO INPUT"CHR$(34)"L"CHR$(34)
  405. 16440 PRINT"SO INSERT THE STATEMENT:"
  406. 16450 PRINT"2 INPUT"CHR$(34)"LINES="CHR$(34)";L"
  407. 16470 PRINT"I'LL PRINT THE PROMPTING REMARK:"
  408. 16480 PRINT"LINES=?"
  409. 16481 PRINT"AND WILL WAIT FOR L TO BE TYPED IN."
  410. 16490 GOSUB63000
  411. 16500 PRINT"[147]THEN YOU MAY WANT TO USE MY CLASSY"
  412. 16510 PRINT""CHR$(34)"REVERSE FIELD"CHR$(34)
  413. 16520 PRINT" [163][163][163][163][163][163][163][163][163][163][163][163][163]"
  414. 16530 PRINT"..THAT'S CTRL-9[146]=RVS ON"
  415. 16550 PRINT"SO INSERT THIS PRINT COMMAND"
  416. 16560 PRINT"AT THE BEGINNING OF EACH PRINT"
  417. 16561 PRINT"SEQUENCE."
  418. 16570 GOSUB63000
  419. 16580 PRINT"[147]REPLACE:"
  420. 16590 PRINT" ?"CHR$(34)" *[157]"CHR$(34);
  421. 16600 PRINTSPC(5)"  ..BY:"
  422. 16610 PRINT" ?"CHR$(34)" *[157]"CHR$(34)
  423. 16615 PRINT"   ^"
  424. 16616 PRINT"THAT'S A 'RVS' COMMAND!"
  425. 16620 GOSUB63000
  426. 16630 PRINT"[147]I'LL PRINT LOTS OF THINGS IN"
  427. 16640 PRINT"  REVERSE FIELD"
  428. 16650 PRINT"  [163][163][163][163][163][163][163][163][163][163][163][163][163]"
  429. 16660 PRINT" SO IF YOU WANT IT "CHR$(34)"OFF"CHR$(34)
  430. 16670 PRINT"  INSERT A PRINT COMMAND:"
  431. 16680 PRINT:PRINT"41?"CHR$(34)"[146]"CHR$(34)
  432. 16690 PRINT"    ^ THAT'S RVS OFF[146]!"
  433. 16845 GOSUB63000
  434. 16850 PRINT"[147]THEN..IF YOU WANT TO SLOW THINGS DOWN"
  435. 16860 PRINT"TRY SUBROUTINES[146]!"
  436. 16870 PRINT"INCLUDE A FEW 'GOSUB500' STATEMENTS"
  437. 16880 PRINT"AND I'LL GO TO STATEMENT 500 AND OBEY"
  438. 16890 PRINT"THE INSTRUCTIONS THERE."
  439. 16900 PRINT"SO, PUT INSTRUCTIONS AT 500:"
  440. 16910 PRINT"500 FORT=1 TO1000"
  441. 16920 PRINT"510 NEXT         "
  442. 16930 PRINT"520 RETURN       "
  443. 16940 PRINT"AFTER DOING 'NOTHING' 1000 TIMES I'LL"
  444. 16950 PRINT"'RETURN' TO CONTINUE THE MAIN PROGRAM."
  445. 16960 GOSUB63000:GOTO19000
  446. 18000 PRINT"OF COURSE WE FORGOT TO INCLUDE ALL"
  447. 18010 PRINT"THOSE SEMI-COLONS!!!"
  448. 18020 PRINT"      [163][163][163][163][163][163][163][163][163][163][163]  "
  449. 18030 PRINT"SO END EACH PRINT STATEMENT"
  450. 18040 PRINT"..NAMELY #10,#20 & #30..."
  451. 18050 PRINT"WITH A SEMI-COLON!   ;"
  452. 18060 PRINT"BUT FIRST, LET'S FORGE AHEAD!":GOSUB63000:PRINT"[147]"
  453. 18065 MS$="GO!GO!GO!"
  454. 18070 GOSUB63100
  455. 18075 RETURN
  456. 19000 PRINT"[147]";:PRINT"1?"CHR$(34)"[147]"CHR$(34)
  457. 19010 PRINT"2INPUT"CHR$(34)"LINES="CHR$(34)";L"
  458. 19020 PRINT"3?"CHR$(34)"SYMBOL?"CHR$(34)
  459. 19030 PRINT"4INPUTS$"
  460. 19810 PRINT"5FORJ=1TOL"
  461. 19820 PRINT"9FORI=1TO"W3$":GOSUB500"
  462. 19830 PRINT"10?"CHR$(34)" "CHR$(34)"S$"CHR$(34)"[157]"CHR$(34)";"
  463. 19840 PRINT"11NEXT"
  464. 19850 PRINT"19FORI=1TO"W3$":GOSUB500"
  465. 19860 PRINT"20?"CHR$(34)" [157][157]"CHR$(34)"S$"CHR$(34)"[157]"CHR$(34)";"
  466. 19870 PRINT"21NEXT"
  467. 19880 PRINT"29FORI=1TO"W1$":GOSUB500"
  468. 19890 PRINT"30?"CHR$(34)""CHR$(34)"S$;"
  469. 19900 PRINT"31NEXT"
  470. 19901 PRINT"40NEXT":PRINT"50GOTO1"
  471. 19902 PRINT"500FORT=1TO5:NEXT:RETURN"
  472. 19910 PRINT"TYPE IT IN & RUN[146] TO RUN IT."
  473. 19930 PRINT"THEN TYPE @[146] TO CONTINUE":SN$="20000":GOTO63300
  474. 20000 GOSUB60000:PRINT"[147]A FINAL WORD (..OR TWO..):"
  475. 20010 PRINT"SOMETIMES YOU RUN A PROGRAM WITH:"
  476. 20020 PRINT"RUN 10"
  477. 20030 PRINT"SOMETIMES WITH:"
  478. 20040 PRINT"GOTO10"
  479. 20050 PRINT"WHAT'S THE DIFFERENCE?"
  480. 20060 PRINT"WELL..IF YOU TYPE RUN..[146] I FORGET"
  481. 20070 PRINT"THE VALUES OF 'X' AND 'Y' AND 'SAM'"
  482. 20080 PRINT"AND WILL START FROM SCRATCH."
  483. 20090 PRINT"GOTO..[146] AND I'LL REMEMBER THEM!"
  484. 20100 GOSUB63000
  485. 20110 PRINT"[147]THIS IS HANDY:"
  486. 20120 PRINT"STOP[146] A PROGRAM WHILE IT'S RUNNING"
  487. 20130 PRINT"AND TYPE:"
  488. 20140 PRINT"?X:?Y:?SAM"
  489. 20150 PRINT"AND I'LL PRINT THE VALUES OF THESE"
  490. 20160 PRINT"VARIABLES AT THE TIME I WAS STOP[146]PED."
  491. 20170 PRINT"YOU CAN TYPE CONT[146] TO CONTINUE"
  492. 20180 PRINT"WHERE I LEFT OFF...OR.."
  493. 20190 PRINT"GOTO100[146] TO CONTINUE AT STATEMENT 100"
  494. 20200 PRINT"WITHOUT FORGETTING 'X' AND 'Y' ETC."
  495. 20210 PRINT"[184][184][184][184][184][184][184]"
  496. 20220 GOSUB63000
  497. 20230 PRINT"[147]":MS$="AU REVOIR![146]":GOSUB63100:GOSUB63500:END
  498. 59000 PRINT"[147]"
  499. 59001 PRINT"DURING THE TUTORIAL YOU MAY WISH"
  500. 59002 PRINT"TO RETURN TO AN EARLIER 'PAGE'."
  501. 59003 PRINT"JUST HIT THE @-KEY[146], AT ANY TIME,"
  502. 59004 PRINT"AND THE TUTORIAL WILL BACK UP"
  503. 59005 PRINT"A PAGE OR TWO."
  504. 59006 PRINT"ALSO, YOU HAVE AN OPPORTUNITY TO"
  505. 59007 PRINT"COMPOSE YOUR OWN PROGRAMS."
  506. 59008 PRINT"WHEN YOU WISH TO CONTINUE WITH"
  507. 59009 PRINT"THE TUTORIAL, HIT THE @-KEY[146]!":GOSUB63000
  508. 59010 MS$="@[146]_REMEMBER":GOSUB63100
  509. 59020 GOSUB63000:RETURN
  510. 60000 POKE204,1:REM INITIALIZE
  511. 60001 BT$="":FORI=1TO24:BT$=BT$+"":NEXT
  512. 60002 PT$="[176][192][192][192][192][192][192][192][192][192][192][174][157][157][157][157][157][157][157][157][157][157][157][157][221][221][157][157][157][157][157][157][157][157][157][157][157][157][173][178][192][192][192][192][192][192][192][192][178][189]"
  513. 60003 PT$=PT$+"[157][157][157][157][157][157][157][157][157][157][157][157][157][206][163][163][163][163][163][163][163][163][163][163][163][163][205][157][157][157][157][157][157][157][157][157][157][157][157][157][157][165]============[167]"
  514. 60004 PT$=PT$+"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][208][207][163][163][163][163][163][163][163][163][163][163][208][207][145][145][145][145][157][157][157][157][157][157][157][157][157][157][157][157]"
  515. 60005 PT$=BT$+"[145][145][145][145][145][145]"+PT$+"[144]"
  516. 60007 ML$=""
  517. 60008 WD=40:CRT=1024:PRINTCHR$(142)
  518. 60009 W2=WD/2:W3=WD-1:W1$=MID$(STR$(WD),2):
  519. 60010 W2$=MID$(STR$(W2),2):W3$=MID$(STR$(W3),2)
  520. 60020 PRINT"[147]":POKE53281,15:POKE53280,12:PRINT"[144]"
  521. 60998 IFPEEK(789)<>7*16+15THENSYS(7*4096+15*256+12*16+3)
  522. 60999 RETURN
  523. 61000 REM*NEW WORKSPACE
  524. 61001 M=7*4096+15*256+15*16
  525. 61002 RESTORE
  526. 61003 FORI=MTOM+15:READK:POKEI,K:NEXT
  527. 61004 DATA 1,96,3,96,3,96,3,96
  528. 61005 DATA 144,127,0,0,144,127,0,0
  529. 61006 M=6*4096:FORI=0TO2:POKEM+I,0:NEXT
  530. 61007 RETURN
  531. 63000 PRINT"HIT RETURN[146] TO CONTINUE";
  532. 63001 GETA$:IFA$<>""THEN63001
  533. 63002 GETA$:IFA$=""THEN63002
  534. 63003 RETURN
  535. 63100 FORT=1TO5:PRINTPT$MS$;
  536. 63101 PRINTPT$"          ";
  537. 63102 PRINTPT$MS$;:NEXT
  538. 63103 PRINT:RETURN
  539. 63200 POKE56,96:POKE52,96:POKE55,0:POKE51,0:GOSUB61000
  540. 63201 WD=40:PRINTCHR$(142)
  541. 63202 M=7*4096+15*256+9*16
  542. 63203 FORI=MTOM+91:READK:POKEI,K:NEXT
  543. 63204 DATA165,203,201,46,208,83,32,195,127,165,44,201,8,240,3,32,177,127,32
  544. 63205 DATA142,166,165,44,201,8,240,3,76,128,164,76,174,167,162,16,189,239
  545. 63206 DATA127,72,181,42,157,239,127,104,149,42,202,208,241,96,120,173,238,127
  546. 63207 DATA77,20,3,141,20,3,173,239,127,77,21,3,141,21,3,88,96,173,20,3,73
  547. 63208 DATA144,141,238,127,173,21,3,73,127,141,239,127,96,76,255,255
  548. 63216 POKEM+90,PEEK(788):POKEM+91,PEEK(789)
  549. 63220 KEY=7*4096+15*256+13*16+8
  550. 63221 SYS(KEY):REM KEY FOR IRQ SWAP
  551. 63299 RETURN
  552. 63300 REM*SWITCH TO NEW WORKSPACE
  553. 63301 GOSUB63600:REM RUN NUMBER
  554. 63302 GOSUB61000:REM NEW THE WORKSPACE
  555. 63303 GOTO63403
  556. 63400 REM*SWITCH TO OLD WORKSPACE
  557. 63401 GOSUB63600
  558. 63403 SWTCH=7*4096+15*256+9*16+15
  559. 63404 SYS(SWTCH):REM SWAP POINTERS
  560. 63405 POKE204,2:END
  561. 63500 REM*RESTORE PET
  562. 63501 SN$="100":GOSUB63600
  563. 63502 M=7*4096+15*256+12*16+3:IFPEEK(789)=7*16+15THENSYSM
  564. 63503 RETURN
  565. 63600 REM*INSERT RUN NUMBER
  566. 63601 M=2059:SN$="00000"+SN$
  567. 63602 FORI=1TO5:POKEM-I,ASC(RIGHT$(SN$,I)):NEXT:RETURN
  568.